table of contents
- 名前
- 書式
- 説明
- オプション
- ファイルシステム独自のマウントオプション
- adfs のマウントオプション
- affs のマウントオプション
- coherent のマウントオプション
- devpts のマウントオプション
- ext のマウントオプション
- ext2 のマウントオプション
- ext3 のマウントオプション
- fat のマウントオプション
- hfs のマウントオプション
- hpfs のマウントオプション
- iso9660 のマウントオプション
- jfs のマウントオプション
- minix のマウントオプション
- msdos のマウントオプション
- ncpfs のマウントオプション
- nfs のマウントオプション
- ntfs のマウントオプション
- proc のマウントオプション
- ramfs のマウントオプション
- reiserfs のマウントオプション
- romfs のマウントオプション
- smbfs のマウントオプション
- sysv のマウントオプション
- tmpfs のマウントオプション
- udf のマウントオプション
- ufs のマウントオプション
- umsdos のマウントオプション
- vfat のマウントオプション
- usbfs のマウントオプション
- xenix のマウントオプション
- xfs のマウントオプション
- xiafs のマウントオプション
- loop デバイス
- 返り値
- ファイル
- 関連項目
- バグ
- 履歴
MOUNT(8) | Linux Programmer's Manual | MOUNT(8) |
名前¶
mount - ファイルシステムをマウントする
書式¶
mount [-lhV]
mount -a [-fFnrsvw] [-t vfstype] [-O
optlist]
mount [-fnrsvw] [-o options [,...]] device
| dir
mount [-fnrsvw] [-t vfstype] [-o options]
device dir
説明¶
Unix のシステムにおいては、アクセスできるファイルはすべて 1 つの大きな ツリー構造にまとめられている。 これは / をルート (root:根) とする階層構造をなしている。 これらのファイル群は複数のデバイスにわたって配置することができる。 mount コマンドはあるデバイス上のファイルシステムを この大きなツリー構造に接続するために用いられる。 逆に接続を解除する際には umount(8) コマンドが用いられる。
mount コマンドの標準形は次の通りである。
mount -t type device dir
以下の 3 種類の実行形式は、実際には何もマウントしない。
mount -h
mount -V
Linux 2.4.0 以降では、 ファイル階層の一部をどこか別の場所に再マウントすることができる。 使い方は以下の通りである。
mount --bind olddir newdir
この呼び出しでは 1 つのファイルシステム (の一部) のみをアタッチするだけで、 サブマウントはアタッチしない。 サブマウントを含むファイル階層全体は、 以下のコマンドで 2 番目の場所にアタッチできる。
mount --rbind olddir newdir
ファイルシステムのマウントオプションは、 元のマウントポイントのものと同じに維持され、 --bind/--rbind の後に -o オプションを指定して変更できない点に注意すること。
Linux 2.5.1 以降では、 マウントされたツリーを纏めて他の場所に移動することが可能になった。 使い方は以下の通りである。
mount --move olddir newdir
proc ファイルシステムはスペシャルデバイスには関連付けられていないので、 マウントする際には proc のような適当なキーワードをデバイス指定の代わりに用いる。 (通常用いられている none はあまりお勧めできない: umount が `none busy' というエラーメッセージを出すことになるので、 混乱の原因となりかねない。)
ほとんどの場合、デバイスは (ブロックスペシャルデバイスの) ファイル名で 指定する (例: /dev/sda1)。 しかし例外もある。例えば NFS を通してマウントする場合には、 device は knuth.cwi.nl:/dir のようになる。 ブロックスペシャルデバイスの指定には、ボリュームラベルや UUID を 用いることができる (以下の -L および -U オプションを見よ)。
ファイル /etc/fstab (fstab(5) を見よ) は、それぞれのデバイスが通常マウントされる場所を、 オプションとともに記述したものである。 このファイルは以下の 3 つの場合に用いられる。
(i) コマンド
mount -a [-t type] [-O optlist]
(ii) fstab 中に記述されているファイルシステムをマウントするときは、 デバイスのみ、あるいはマウントポイントのみの指定で充分である。
(iii) 通常はスーパーユーザーのみがマウントを行うことができるが、 fstab 中の行に user オプションが含まれていれば、その行で指定されているファイルシステムは 誰でもマウントすることができる。
したがって
/dev/cdrom /cd iso9660 ro,user,noauto,unhide
mount /dev/cdrom
mount /cd
mount および umount プログラムによって現在マウントされているファイルシステムの一覧は /etc/mtab ファイル中に記述されている。 mount が引き数なしで実行された場合には、 このリストが表示される。
proc ファイルシステムがマウントされている場合には (マウントポイントは /proc としよう)、 ファイル /etc/mtab と /proc/mounts はほとんど同じ内容になる。 /etc/mtab には、マウントオプションなど多少の情報が付け加えられている。 特に非常に多くマウントしている場合には、(訳註: /etc/mtab を /proc/mounts への) シンボリックリンクにすることにより、とても速くなる。 しかし、 /etc/mtab は常に最新の情報であるとは限らない (以下の -n オプションの説明を参照)。 /etc/mtab を /proc/mounts へのシンボリックリンクとすることも可能であるが、 この場合は上に挙げた情報が失われる。 loop デバイスを用いている場合には特に不便となってしまう。 また "user" オプションを用いると失敗する。
オプション¶
mount の実行時に用いられるオプションは以下のようにして決定される。 まずそのファイルシステムに特有のオプションが fstab 中の対応する行から抽出される。 次にコマンドラインの -o 引き数によって指定されたオプション、最後に -r または -w オプションが指定されている場合には、それらが適用される。
mount コマンドで利用できるオプションは以下の通り:
- -V
- バージョンを表示する。
- -h
- ヘルプメッセージを表示する。
- -v
- 詳細表示モード。
- -a
- fstab に記載されている (指定したタイプの) ファイルシステムを すべてマウントする。
- -F
- (-a とともに用いる) それぞれのデバイスごとに fork して新しい mount プロセスを生成する。 別々のデバイス、別々の NFS サーバに対するマウントを並行して行うことになる。 利点は動作が高速になること、 また NFS タイムアウトが並行して計測されることである。 逆に欠点としては、マウントの順序が規定されないことである。 したがって、 /usr と /usr/spool の両方を同時にマウントするときには、このオプションを用いることはできない。
- -f
- 実際のシステムコール以外を除いてすべての動作をする。 もうちょっとわかりやすく言うと、 ファイルシステムのマウント動作を「行うふり」をする。 このオプションは -v フラグとともに用いると便利で、 mount コマンドが行おうとすることを確認できる。 また以前に -n オプションを用いてマウントされたデバイスのエントリーを /etc/mtab に書き込む目的にも用いることができる。
- -i
- /sbin/mount.<filesystem> ヘルパがあっても、呼び出さない。
- -l
- ext2, ext3, XFS のラベルを mount の出力に追加する。 これを行うには、mount にディスクデバイスの読み取り権限が必要である (つまり suid root されている必要がある)。 このような ext2 や ext3 のラベルを設定するには e2label(8) ユーティリティを用いればよい。 また、XFS のラベルを設定するには xfs_admin(8) を用いればよい。 reiserfs のラベルを設定するには reiserfstune(8) を用いればよい。
- -n
- マウントの際に /etc/mtab に書き込みを行わない。 これが必要になるのは、例えば /etc がリードオンリーのファイルシステムの場合などである。
- -p num
- 暗号付きループマウントの場合、 パスフレーズを端末からではなくファイルディスクリプタ num から読み込む。
- -s
- 曖昧なマウントオプションが与えられたときに、 実行を中断しないで受け入れる。 これはファイルシステムタイプによってサポートされていない マウントオプションを無視する。 すべてのファイルシステムでこのオプションがサポートされているわけではない。 このオプションは Linux autofs ベースのオートマウンタのために用意されている。
- -r
- ファイルシステムをリードオンリーでマウントする。 -o ro と同義である。
- -w
- ファイルシステムを読み書き可能なモードでマウントする (デフォルト)。 -o rw と同義である。
- -L label
- label で指定したラベルを持つパーティションをマウントする。
- -U uuid
- uuid で指定した UUID を持つパーティションをマウントする。 これらの 2 つのオプションを用いるには、 /proc/partitions ファイル (Linux 2.1.116 以降でサポート) が存在していなければならない。
- -t vfstype
- -t
に続く引き数はファイルシステムタイプを指定するのに用いられる。
現在サポートされているファイルシステムのタイプには、以下のものが含まれる。
adfs, affs, autofs, coda, coherent,
cramfs, devpts, efs, ext, ext2,
ext3, hfs, hpfs, iso9660, jfs,
minix, msdos, ncpfs, nfs, ntfs,
proc, qnx4, ramfs, reiserfs, romfs,
smbfs, sysv, tmpfs, udf, ufs,
umsdos, usbfs, vfat, xenix, xfs,
xiafs. coherent, sysv, xenix の 3
つは等価であり、
xenix と coherent
は将来削除される —
代りに sysv
を用いること。
カーネルのバージョン
2.1.21 以降では、 ext
および xiafs
というタイプは、もはや存在しない。
usbfs は、以前は usbdevfs
として知られていた。
ほとんどのタイプに対しては、 mount プログラムがしなければならないことは単に mount(2) システムコールを発行することだけであり、 そのタイプのファイルシステムに対する細かな知識は必要とされない。 しかしいくつかのタイプ (nfs, smbfs, ncpfs など) については、 特別なコードが必要になる。 nfs 対応コードは組み込まれているが、 smbfs と ncpfs については別にマウントプログラムが用意されている。 全部のタイプを同じやり方で扱うことができるようにするため、 mount はタイプ TYPE とともに呼び出されると、(もしあれば) /sbin/mount.TYPE を実行する。 smbmount プログラムでは、バージョンによって呼び出しの方式が異なっていることが多いので、 /sbin/mount.smbfs は必要な呼び出し方式に調整するシェルスクリプトでなければならないだろう。
-t オプションが与えられなかった場合や、 auto タイプが指定された場合、 mount は適切なタイプを推測する。 mount が blkid ライブラリとともにコンパイルされている場合、 このライブラリによって推測を行う。 さもなければ、 mount は自身でスーパーブロックをプローブして推測を行う。 このプローブに失敗すると、mount はファイル /etc/filesystems を読み込もうとする。 さらにこのファイルがなければ /proc/filesystems を読み込もうとする。 そして、読み込んだファイルにリストされているファイルシステムがテストされる。 ただし "nodev" ラベルの付いているもの (すなわち devpts, proc, nfs) はテストから除かれる。 /etc/filesystems が * のみの行で終わっている場合、 mount はその後に /proc/filesystems を読み込む。
auto タイプはフロッピーを一般ユーザーがマウントする場合に特に便利であろう。 プローブの順序を変更したい場合 (例えば msdos の前に vfat の試行をしたい場合や ext2 の前に ext3 を試行したい場合) や、 カーネルモジュールの自動ローダを利用している場合には、 /etc/filesystems ファイルを作っておくと便利である。 注意: ファイルシステムのテストには発見的手法 (適当な `合い言葉' が見つかるかどうか) が用いられるので、 ファイルシステムのタイプを間違えて、被害を被る可能性もある。 データが重要な場合は、 mount にファイルシステムタイプを推測させてはならない。
複数のタイプをコンマで区切ったリストで指定することもできる。 ファイルシステムのタイプのリストの前に no を前置することもできる。 これは動作対象としないファイルシステムを指定する。 (-a オプションとともに用いると良いかもしれない。)
例えば以下のコマンド:
- -O
- -a と一緒に使うと、 -a が適用されるファイルシステムを制限することができる。 この動作は -t と似ているが、 -a と一緒に使うとき以外は機能しない点が異なる。 例えば以下のコマンド:
各オプションが厳密にマッチされる点が -t とは異なる。 ある 1 個のオプションの前に no をおいても、残りのオプションの意味は打ち消されない。
-t と -O オプションの機能は足し合わせることができる。 すなわちコマンド
- -o
- オプションの指定を行うには、 -o フラグに続けて各オプションをコンマで区切った文字列を書く。 オプションには、 /etc/fstab の中でのみ意味を持つものもある。 以下のオプションはマウントされるすべての ファイルシステムに適用できるものである (但し、全てのファイルシステムがこれらのオプションを引き受けるとは限らない。 例えば、 sync オプションは現在 ext2, ext3, ufs でのみ効果をもつ):
- async
- そのファイルシステムに対するすべての I/O が非同期 (asynchronous) に行われる。
- atime
- アクセス毎に inode のアクセス時間を更新する。デフォルト。
- auto
- -a が指定されたときにマウントされる。
- defaults
- デフォルトのオプション: rw, suid, dev, exec, auto, nouser, async を用いる。
- dev
- ファイルシステム上の キャラクタ・スペシャル・デバイスや ブロック・スペシャル・デバイスを 利用できるようにする。
- exec
- バイナリの実行を許可する。
- group
- 通常 (つまり root 以外) のユーザーの属するグループのうちの 1 つが デバイスのグループとマッチした場合に、 そのユーザーがファイルシステムをマウントするのを許可する。 このオプションはオプション nosuid と nodev を暗黙のうちに指定する (ただし、オプション行で group,dev,suid のようにして、その後のオプションで上書きしない限り)。
- mand
- このファイルシステム上での強制 (mandatory) ロックを許可する。 fcntl(2) を参照すること。
- _netdev
- ネットワークアクセスが必要なデバイス上にあるファイルシステム (システムでネットワークが使用可能になるまでは、 ファイルシステムをマウントさせないために使われる)。
- noatime
- そのファイルシステム上では inode のアクセス時間を更新しない (例えばニュースサーバーをスピードアップしたいときなどに、 ニューススプールへのアクセス速度を向上させるために用いられる)。
- noauto
- 明示的に指定されたときのみマウントできる。 つまり -a オプションではマウントされない。
- nodev
- このファイルシステム上にある キャラクタ・スペシャル・デバイスや ブロック・スペシャル・デバイスを 使用できないようにする。
- noexec
- マウントされたファイルシステム上の任意のバイナリの直接実行を禁止する。 (最近になるまで /lib/ld*.so /mnt/binary のようなコマンドを使って、 バイナリを何とか実行することが可能であった。 このトリックは Linux 2.4.25 / 2.6.0 以降では失敗する。)
- nomand
- ファイルシステム上での強制ロックを禁止する。
- nosuid
- SUID および SGID ビットを無効にする (これは安全なように見えるが、 suidperl(1) がインストールされている場合には、実際にはむしろ危険である)。
- nouser
- 一般ユーザー (スーパーユーザー以外のユーザー) のマウントを禁止する。 これはデフォルトである。
- owner
- 通常 (つまり root 以外) のユーザーがデバイスの所有者とマッチした場合に、 そのユーザーがファイルシステムをマウントするのを許可する。 このオプションはオプション nosuid と nodev を暗黙のうちに指定する (ただし、オプション行で owner,dev,suid のようにして、その後のオプションで上書きしない限り)。
- remount
- すでにマウントされているファイルシステムを再マウントしようとする。 これは通常ファイルシステムのマウントフラグを変更するとき (特にリードオンリーのファイルシステムを書き込み可能にするとき) に用いられる。 デバイスとマウントポイントを変更しない。
- ro
- ファイルシステムをリードオンリーでマウントする。
- rw
- ファイルシステムを読み書き可能なモードでマウントする。
- suid
- SUID および SGID ビットを有効にする。
- sync
- そのファイルシステムに対する I/O がすべて同期的 (synchronous) に行われる。
- dirsync
- ファイルシステムにおける全てのディレクトリ更新を、 同期的 (synchronous) に行わせる。 このオプションは以下のシステムコールに影響する: creat, link, unlink, symlink, mkdir, rmdir, mknod, rename.
- user
- 一般ユーザーでもファイルシステムをマウントできるようにする。 マウントを行ったユーザーの名前が mtab に書き込まれ、 そのユーザーがアンマウントできるようになる。 このオプションを指定すると、同時に noexec, nosuid, nodev が指定されたことになる。 ただし続けて指定すれば上書きは可能。 すなわち user,exec,dev,suid のような行を指定すればよい。
- users
- 全てのユーザーがファイルシステムをマウント・アンマウント出来るようにする。 このオプションを指定すると、同時に noexec, nosuid, nodev が指定されたことになる。 ただし続けて指定すれば上書きは可能。 すなわち users,exec,dev,suid のような行を指定すればよい。
ファイルシステム独自のマウントオプション¶
以下のオプションは特定のファイルシステムにのみ適用される。 ファイルシステムの順に並べてある。 すべて -o フラグに続けて指定する。
どのようなオプションがサポートされているかは、 実行されているカーネルに少々依存する。 より詳しい情報はカーネルソースのサブディレクトリ Documentation/filesystems で見つけることができる。
adfs のマウントオプション¶
- uid=value and gid=value
- このファイルシステムのファイルの所有者とグループを設定する (デフォルトは uid=gid=0)。
- ownmask=value and othmask=value
- それぞれ ADFS の「所有者」属性と「その他」属性に対する パーミッションマスクを設定する (デフォルトはそれぞれ 0700 と 0777)。 /usr/src/linux/Documentation/filesystems/adfs.txt も参照のこと。
affs のマウントオプション¶
- uid=value と gid=value
- ファイルシステムのルートの所有者とグループを設定する (デフォルトは uid=gid=0。 ただしオプション uid や gid を値なしで指定すると、カレントプロセスの uid および gid が用いられる)。
- setuid=value と setgid=value
- すべてのファイルの所有者とグループを設定する。
- mode=value
- すべてのファイルの許可属性を value & 0777 に設定する。 元の許可属性は無視される。 読み込みが許可されているディレクトリには検索許可の属性を付加する。 この値は 8 進数で与える。
- protect
- ファイルシステムの保護ビットへのいかなる変更も許可しない。
- usemp
- ファイルシステムのルートの uid と gid を マウントポイントの uid と gid に設定する。 ただしこの設定は最初の sync または umount の際に実行され、 その後にこのオプションはクリアされる。変なの。
- verbose
- それぞれのマウントが成功するごとにメッセージを表示する。
- prefix=string
- リンクをたどる際にボリューム名の前に用いられるプレフィックス (prefix)。
- volume=string
- シンボリックリンクをたどる際に '/' の前に用いられるプレフィックス。 最長 30 文字。
- reserved=value
- デバイススタート時の未使用ブロックの数。デフォルトは 2。
- root=value
- ルートブロックの位置を明示的に与える。
- bs=value
- ブロックサイズを与える。有効な値は 512, 1024, 2048, 4096 のいずれか。
- grpquota / noquota / quota / usrquota
- これらのオプションは指定可能であるが、単に無視される。 (但し、 quota ユーティリティは /etc/fstab にこのような文字列があると反応する)
coherent のマウントオプション¶
なし。
devpts のマウントオプション¶
devpts ファイルシステムは擬似ファイルシステムで、 通例としては /dev/pts にマウントされる。プロセスは擬似端末 (pseudo terminal) を取得するために、 /dev/ptmx をオープンする。 するとそのプロセスは番号を通して擬似端末を使えるようになり、 擬似端末のスレーブに /dev/pts/<number> 経由でアクセスできるようになる。
- uid=value と gid=value
- 新たに作成される PTY の所有者と所有グループを設定する。 何も指定しないと、作成したプロセスの UID と GID になる。 例えば tty グループの GID が 5 であったとすると、 gid=5 とすれば新たに作成された PTY は tty グループに属することになる。
- mode=value
- 新たに作成される PTY のモードを設定する。 デフォルトは 0600 である。 mode=620 と gid=5 を設定すると、新たに生成される PTY は、 "mesg y" がデフォルトになる。
ext のマウントオプション¶
なし。 `ext' ファイルシステムはすでに時代遅れであり、用いるべきではない。 Linux バージョン 2.1.21 以降では extfs はカーネルソースから削除されている。
ext2 のマウントオプション¶
`ext2' ファイルシステムは Linux の標準ファイルシステムである。 Linux 2.5.46 以降では、大部分のマウントオプションのデフォルト値は ファイルシステムのスーパーブロックで決定される。 このデフォルト値は tune2fs(8) で設定すること。
- acl / noacl
- POSIX アクセス制御リスト (Access Control List) をサポートする (またはサポートしない)。
- bsddf / minixdf
- システムコール statfs の振る舞いを設定する。 minixdf を指定すると、返り値の f_blocks フィールドにファイルシステムの全ブロック数が入るようになり、 bsddf を指定すると、ext2 ファイルシステムによって利用されていて、 ファイルの保存領域としては使えないブロックの分を引いた値が入る。 デフォルトは bsddf。 すなわち、
% mount /k -o minixdf; df /k; umount /k Filesystem 1024-blocks Used Available Capacity Mounted on /dev/sda6 2630655 86954 2412169 3% /k % mount /k -o bsddf; df /k; umount /k Filesystem 1024-blocks Used Available Capacity Mounted on /dev/sda6 2543714 13 2412169 0% /k
(この例より、 /etc/fstab のオプションにコマンドラインオプションを追加できることもわかる。)
- check
- ファイルシステム (のブロックと inode ビットマップ) をマウント時にチェックする。
- check=none / nocheck
- マウント時にチェックを行わない。 これがデフォルトであり、高速である。 e2fsck(8) を時折、例えばブート時に、呼び出す方が賢明である。
- debug
- デバッグ情報をマウントおよび再マウントごとに表示する。
- errors=continue / errors=remount-ro / errors=panic
- エラーが起こったときの振る舞いを指定する。 (エラーを無視し、ファイルシステムに問題があることを記録だけして続ける / ファイルシステムをリードオンリーでマウントしなおす / パニックを起こしてシステムを停止する) デフォルトはファイルシステムのスーパーブロックに設定されている。 これは tune2fs(8) を用いて変更することができる。
- grpid または bsdgroups / nogrpid または sysvgroups
- 新しく作成されたファイルが取得するグループ id を指定する。 grpid が設定されていると、ファイルは作成されたディレクトリと同じグループ id を得る。 それ以外の場合ファイルはカレントプロセスの fsgid を得る (デフォルト)。 ただしディレクトリに SGID ビットが設定されている場合は、 親ディレクトリから gid を引き継ぎ、作成されたファイルがディレクトリならば、 自分自身にも SGID ビットを設定する。
- grpquota / noquota / quota / usrquota
- これらのオプションは指定可能であるが、単に無視される。
- nobh
- buffer_heads をファイルページキャッシュにアタッチしない (2.5.49 以降)。
- nouid32
- 32 ビットの UID と GID を無効にする。 これは 16 ビットで (UID や GID の) 値を格納したり、 値が返されることを想定している昔のカーネルとの互換性のためにある。
- oldalloc または orlov
- 新しい inode に対して、old アロケータまたは Orlov アロケータを使う。 Orlov がデフォルトである。
- resgid=n と resuid=n
- ext2 ファイルシステムは適当な大きさの予約領域を持っている (デフォルトでは 5%。 mke2fs(8) および tune2fs(8) を見よ)。 これらのオプションはこの予約ブロックを使えるユーザーを指定する。 すなわち指定された uid を持つユーザー、あるいは指定されたグループに 所属するユーザーである。
- sb=n
- ブロック 1 の代わりにブロック n をスーパーブロックとして用いる。 このオプションはファイルシステムが損傷を受けた場合に便利である。 (以前はスーパーブロックのコピーが 8192 ブロックおきに作成されていた。 つまりブロック 1, 8193, 16385, ... である (大きなファイルシステムでは、この数は数千にも及ぶことがあった)。 バージョン 1.08 以降の mke2fs では -s オプション (sparse superblock: 疎なスーパーブロック) が使えるようになり、バージョン 1.15 以降ではこれがデフォルトになった。 注意してほしいのだが、つまりこれは、最近の mke2fs で作成された ext2 ファイルシステムは、 Linux 2.0.* では read/write での mount ができない、ということである。) ここでのブロック数は 1k バイト単位を使う。 よって、4k バイトブロックでファイルシステム上の 論理ブロック 32768 を使いたい場合は、"sb=131072" とすること。
- user_xattr / nouser_xattr
- "user." 拡張属性をサポートする (またはサポートしない)。
ext3 のマウントオプション¶
`ext3' ファイルシステムは ext2 ファイルシステムを作り替えたもので、 拡張としてジャーナリング機能を備えている。 ext2 と同じオプションに加え、以下の追加オプションをサポートしている。
- journal=update
- ext3 ファイルシステムのジャーナルを現在の形式に更新する。
- journal=inum
- ジャーナルが既にある場合、このオプションは無視される。 ジャーナルがない場合、ext3 ファイルシステムのジャーナルファイルを 表すための i ノードの数を指定する。 ext3 は、i ノード数が inum のファイルの古い内容を上書きして、新しいジャーナルを作成する。
- noload
- マウント時に ext3 ファイルシステムのジャーナルを読み込まない。
- data=journal / data=ordered / data=writeback
- ファイルデータのジャーナリングモードを指定する。 メタデータは常にジャーナルに書かれる。 ルートファイルシステムに対して ordered 以外のモードを使用するには、 rootflags=data=journal のようにして、モードをブートパラメータとしてカーネルに渡す。
- commit=nrsec
- 全てのデータとメタデータを nrsec 秒毎に同期させる。 デフォルト値は 5 秒である。 0 はデフォルトを意味する。
fat のマウントオプション¶
(注意: fat は独立したファイルシステムではなく、 msdos, umsdos, vfat 各ファイルシステムの共通部分である。)
- blocksize=512 / blocksize=1024 / blocksize=2048
- ブロックサイズを設定する (デフォルトは 512)。
- uid=value と gid=value
- すべてのファイルの所有者とグループを設定する (デフォルトはカレントプロセスの uid と gid)。
- umask=value
- umask を設定する (umask とは許可属性のビットマスクで、 立てないビットを立てたもの)。 デフォルトはカレントプロセスの umask。値は 8 進数で与える。
- dmask=value
- ディレクトリにのみ適用される umask を設定する。 デフォルトはカレントプロセスの umask。 値は 8 進数で与える。
- fmask=value
- 通常のファイルにのみ適用される umask を設定する。 デフォルトはカレントプロセスの umask。 値は 8 進数で与える。
- check=value
- チェックの詳細さは 3 つのレベルから選択できる:
- r[elaxed]
- 大文字と小文字を受け付け、それぞれ等価と見なす。 ロングネームの部分は切り捨てられる (すなわち verylongname.foobar は verylong.foo となる)。 スペース文字を名前のそれぞれの部分 (本体と拡張子) に用いることができる。
- n[ormal]
- "relaxed" と似ているが、多くの特殊文字 (*, ?, <, スペースなど) は 用いることができない。デフォルト。
- s[trict]
- "normal" と似ているが、名前には長い部分を含むことができない。 また Linux では用いることができるが MS-DOS では受け入れられない特殊文字 (+, =, スペースなど) を用いることができない。
- codepage=value
- FAT や VFAT ファイルシステムで、短いファイル名に変換するときに 用いる文字のコードページを設定する。 デフォルトではコードページ 437 が用いられる。
- conv=b[inary] / conv=t[ext] / conv=a[uto]
- fat ファイルシステムは CRLF<-->NL (MS-DOS のテキストフォーマットと UNIX の テキストフォーマット) の変換をカーネルで行うことができる。 以下の変換モードを指定できる:
- binary
- 変換は行わない。デフォルト。
- text
- すべてのファイルで CRLF<-->NL の変換を行う。
- auto
- 拡張子を見てバイナリファイルかどうか判断し、バイナリではないファイルに 対して CRLF<-->NL の変換を行う。 拡張子のリストは fs/fat/misc.c の先頭に記述されている。 (2.0 の段階ではリストは以下の通り: exe, com, bin, app, sys, drv, ovl, ovr, obj, lib, dll, pif, arc, zip, lha, lzh, zoo, tar, z, arj, tz, taz, tzp, tpz, gz, tgz, deb, gif, bmp, tif, gl, jpg, pcx, tfm, vf, gf, pk, pxl, dvi)
lseek を行うプログラムはカーネルレベルのテキスト変換と相性が悪い。 この変換によってデータを台無しにしてしまった人もいるので、注意すること!
バイナリモードでマウントしたファイルシステムに対して、変換ツール (fromdos/todos) を用いることもできる。
- cvf_format=module
- 自動検知の結果ではなく、CVF (Compressed Volume File: 圧縮ボリュームファイル) モジュール cvf_module を使うよう、ドライバに強制する。 カーネルが kmod をサポートしていれば、 cvf_format=xxx オプションとしてもオンデマンドで CVF モジュールをロードできる。
- cvf_option=option
- CVF モジュールに渡すオプション。
- debug
- debug フラグを ON にする。 バージョン文字とファイルシステムのパラメータが表示される (これらのデータはパラメータが一貫していないような場合にも表示される)。
- fat=12 / fat=16 / fat=32
- 12 ビット fat か 16 ビット fat か 32 ビット fat かを特定する。 これは FAT 形式の自動認識ルーチンによる設定を上書きする。 用いる際には注意すること。
- iocharset=value
- 8 ビットの文字を 16 ビットの Unicode 文字に変換する (あるいはその逆) ときに用いる文字セット (character set)。デフォルトは iso8859-1 である。 長いファイル名は、ディスクには Unicode フォーマットで保存されている。
- quiet
- quiet フラグを ON にする。 ファイルを chown や chmod しようとしたときにもエラーを返さず、単に失敗する。 用いる際には注意すること!
- sys_immutable, showexec, dots, nodots, dotsOK=[yes|no]
- FAT ファイルシステムに Unix または DOS のしきたりを 強制しようとするさまざまな試み。 おそらくは用いるべきでない。
hfs のマウントオプション¶
- creator=cccc, type=cccc
- 新しいファイルを作成する際に、 MacOS の finder で表示されるクリエータとタイプを設定する。 デフォルト値は '????' である。
- uid=n, gid=n
- すべてのファイルの所有者とグループを設定する (デフォルトはカレントプロセスの uid と gid)。
- dir_umask=n, file_umask=n, umask=n
- 全てのディレクトリ・全ての通常ファイル・ 全てのファイルとディレクトリに対して使用される umask を設定する。 デフォルトはカレントプロセスの umask である。
- session=n
- マウントする CDROM のセッションを選択する。 デフォルトでは CDROM ドライバに決定を任せる。 下層にあるデバイスが CDROM でない場合、このオプションは失敗する。
- part=n
- デバイスのパーティション番号 n を選択する。 CDROM に対してのみ意味を持つ。 デフォルトではパーティションテーブルを全く解釈しない。
- quiet
- 不正なマウントオプションに対して苦情を出さない。
hpfs のマウントオプション¶
- uid=value と gid=value
- すべてのファイルの所有者とグループを設定する (デフォルトはカレントプロセスの uid と gid)。
- umask=value
- umask を設定する (umask とは許可属性のビットマスクで、立って いない ビットを立てたもの)。 デフォルトはカレントプロセスの umask。 値は 8 進数で与える。
- case=lower / case=asis
- すべてのファイルのファイル名を小文字に変換するか、 あるいはそのままにするかを指定する (デフォルトは case=lower)
- conv=binary / conv=text / conv=auto
- conv=text が指定されると、ファイルを読み取るときに CR を適宜削除する (特に NL の前にある場合)。 conv=auto が指定されると、ファイルによって conv=binary と conv=text を適宜選択する。 conv=binary が指定されると、ファイルをそのまま読み込む。 デフォルトは conv=binary。
- nocheck
- ファイルシステムの整合性チェックに失敗しても、マウントを中断しない。
iso9660 のマウントオプション¶
ISO 9660 は CD-ROM で使われているファイルシステム構造を記述している。 (このファイルシステムタイプは DVD で使われていることもある。 udf ファイルシステムも参照すること。)
iso9660 における通常のファイル名は 8.3 形式である (すなわちファイル名の長さに関しては DOS と同じ制限)。 またすべての文字は大文字でなければならない。 また所有者や保護属性、リンク数、ブロックデバイスか キャラクタデバイスかなどを表すフィールドも存在しない。
Rock Ridge は iso9660 の拡張で、上に示した unix 的機能をすべて与える。 基本的にはそれぞれのディレクトリレコードを拡張して、 付加的な情報を与えるものである。 Rock Ridge が用いられると、ファイルシステムは通常の UNIX ファイルシステムとは区別できなくなる (もちろんリードオンリーであることを除いて、だが)。
- norock
- Rock Ridge 拡張が利用できる場合でもこれを無効にする。 map も参照のこと。
- nojoliet
- Microsoft Joliet 拡張が利用できる場合でもこれを無効にする。 map も参照のこと。
- check=r[elaxed] / check=s[trict]
- check=relaxed が指定されると、ファイル名はまず小文字に変換されてから照合される。 これは norock および map=normal とともに用いた場合にだけ意味がある。 (デフォルトは check=strict。)
- uid=value と gid=value
- ファイルシステム中のすべてのファイルのユーザー id、 グループ id を設定する。 Rock Ridge 拡張で指定されている情報を上書きできる。 デフォルトは uid=0,gid=0。
- map=n[ormal] / map=o[ff] / map=a[corn]
- Rock Ridge 拡張がされていないボリュームに対して normal が指定されると、 ファイル名の大文字が小文字の ASCII にマップされ、 最後の `;1' は削除され、`;' はすべて `.' に変換される。 map=off が指定されると、ファイル名の変換は行わない。 norockを見よ。 デフォルトは map=normal。 map=acorn は map=normal と似ているが、Acorn 拡張があればそれを適用する。
- mode=value
- Rock Ridge 拡張がされていないボリュームに対して、 すべてのファイルのモードを指定された値にする。 デフォルトは、すべてのユーザーに対する読み込み属性。 Linux 2.1.37 以降では、10 進数を用いなくても良くなった (0 で始まる数値は 8 進数とみなされる)。
- unhide
- hidden 属性のファイルや、それに関連付けられたファイルも表示する。 (通常のファイルがそれに関連付けられたファイルまたは hidden 属性のファイルと 同じファイル名である場合、通常のファイルはアクセスできなくなる。)
- block=[512|1024|2048]
- ブロックサイズを指定する。デフォルトは block=1024。
- conv=a[uto] / conv=b[inary] / conv=m[text] / conv=t[ext]
- デフォルトは conv=binary。 Linux 1.3.54 以降では、このオプションは無効となった。 またそれ以前でも binary 以外の設定は非常に危険であり、 原因不明のデータ破壊を引き起こすことがある。
- cruft
- ファイルサイズの上位バイトがゴミを含んでいる場合、 このオプションを指定することで上位バイトを無視できる。 このオプションを指定すると、ファイルの大きさは 16MB に制限される。
- session=x
- マルチセッション CD でのセッション数を選択する (2.3.4 以降)。
- sbsector=xxx
- セッションをセクタ xxx から始める (2.3.4 以降)。
以下のオプションは vfat のものと同じで、 Microsoft Joliet 拡張でエンコードされた ディスクを使うときにしか意味がない。
- iocharset=value
- CD 上の 16 ビットの Unicode 文字を 8 ビットの文字に変換するときに用いる文字セット。 デフォルトは iso8859-1 である。
- utf8
- CD 上の 16 ビットの Unicode 文字を UTF-8 に変換する。
jfs のマウントオプション¶
- iocharset=name
- Unicode から ASCII に変換する際に使う文字セット。 デフォルトでは変換を行わない。 UTF8 変換を行う場合は、 iocharset=utf8 を使うこと。 これを行うには、カーネルの .config ファイルに CONFIG_NLS_UTF8 が設定されている必要がある。
- resize=value
- ボリュームを value ブロックに変更する。 JFS ではボリュームを増やすことのみがサポートされており、 減らすことはサポートされていない。 ボリュームが読み書き可能でマウントされている場合、 このオプションは再マウントの間のみ有効である。 resize キーワードに値を指定しないと、 ボリュームはパーティションの最大サイズまで増やされる。
- nointegrity
- ジャーナルに書き込まない。 このオプションの主な目的は、 バックアップメディアからボリュームを復旧する際に、 性能の向上を可能にすることである。 システムが異常終了した場合、ボリュームの完全性は保証されない。
- integrity
- デフォルト。 メタデータの変更をジャーナルに記録する。 以前に nointegrity オプションが指定されたボリュームを通常の状態に戻すために 再マウントするときは、このオプションを使用すること。
- errors=continue / errors=remount-ro / errors=panic
- エラーが起こったときの振る舞いを指定する。 (エラーを無視し、ファイルシステムに問題があることを記録だけして続ける / ファイルシステムをリードオンリーでマウントしなおす / パニックを起こしてシステムを停止する)
- noquota / quota / usrquota / grpquota
- これらのオプションは指定可能であるが、単に無視される。
minix のマウントオプション¶
なし。
msdos のマウントオプション¶
fat のマウントオプションを見よ。 msdos ファイルシステムに不整合が発見されるとエラーが報告され、 ファイルシステムはリードオンリーとなる。 再マウントすることによって書き込み可能にすることができる。
ncpfs のマウントオプション¶
nfs と同様に、ncpfs の実装では mount システムコールの際にバイナリの引き数 (struct ncp_mount_data) を用いる。 この引き数は ncpmount(8) によって渡すことができる。 現在のバージョンの mount (2.12) は ncpfs を扱うことができない。
nfs のマウントオプション¶
通常のマウントオプションにはカーネルによって解釈される 逐語的な文字列を用いるが、 nfs ファイルシステムでは struct nfs_mount_data と言う型のバイナリ引き数でオプションを渡す。 mount プログラムは以下の `tag=value' 形式のオプションを解釈し、 その内容を上の構造体に代入する。 rsize=n, wsize=n, timeo=n, retrans=n, acregmin=n, acregmax=n, acdirmin=n, acdirmax=n, actimeo=n, retry=n, port=n, mountport=n, mounthost=name, mountprog=n, mountvers=n, nfsprog=n, nfsvers=n, namlen=n. オプション addr=n は指定可能であるが単に無視される。 以下のオプションはブール値で指定する。 no を前置することもでき、その場合は真偽が反転する。 bg, fg, soft, hard, intr, posix, cto, ac, tcp, udp, lock. これらの詳細に関しては nfs(5) を見よ。
特に便利なオプションをいくつか以下に示す。
- rsize=8192,wsize=8192
- この指定をすると nfs コネクションは高速になる。 デフォルトのバッファサイズは 4096。 (NFSv2 は rsize や wsize があまり大きいと動作しない。)
- hard
- サーバーがクラッシュしたとき、NFS マウントされたファイルシステム上の ファイルにアクセスしているプログラムはハングする。 intr を同時に指定していなければ、プロセスは interrupt / kill できない。 NFS サーバが再び接続可能になると、 プログラムはその時点から何もなかったように再開する。 こちらを指定しておくと良い場合が大部分であろう。
- soft
- このオプションを指定すると nfs サーバがしばらく反応しなくなったとき、 カーネルはタイムアウト動作をするようになる。 時間の長さは timeo=time で指定できる。 このオプションは、プロセスがサーバからファイルを get するときに nfs サーバがときどき反応しなくなったり、 リブートしたりする場合に指定すると有効かもしれない。 通常はトラブルの原因になる場合がほとんどだろう。
- nolock
- ロック動作を行わない。lockd を起動しない。
ntfs のマウントオプション¶
- iocharset=name
- ファイル名を返すときに用いる文字セット。 VFAT とは異なり、NTFS は変換できない文字を含む名前を抑制する。 このオプションは推奨されない。
- nls=name
- 以前は iocharset という名前であったオプションの新しい名前。
- utf8
- ファイル名の変換に UTF-8 を用いる。
- uni_xlate=[0|1|2]
- 0 (または `no' または `false') とすると、 不明な Unicode 文字に対してエスケープシーケンスを使わない。 1 (または `yes' または `true') または 2 とすると、 ":" で始まる VFAT スタイルの 4 バイトのエスケープシーケンスを用いる。 2 の場合は、もとのファイル名をリトルエンディアンとみなしてエンコードする。 1 の場合は、もとのファイル名をバイト順が入れ換えられた ビッグエンディアンとみなしてエンコードする。
- posix=[0|1]
- 有効になっている (posix=1) と、ファイルシステムは大文字小文字を区別する。 この場合には 8.3 形式の別名がハードリンクとして実現される。
- uid=value と gid=value, umask=value
- ファイルシステムにあるファイルの許可属性を設定する。 umask の値は 8 進数で指定する。 デフォルトではファイルは root が所有し、 他のユーザーからは読み取り不可になっている。
proc のマウントオプション¶
- uid=value と gid=value
- これらのオプションは指定可能であるが、私の知る限り効力はない。
ramfs のマウントオプション¶
ramfs はメモリベースのファイルシステムである。 マウントすれば使用することができる。 アンマウントすると内容は消えてしまう。 Linux 2.3.99pre4 以降で存在する。 マウントオプションはない。
reiserfs のマウントオプション¶
reiserfs はジャーナリングファイルシステムである。 reiserfs のマウントオプションは http://www.namesys.com/mount-options.html でもっと完全に説明されている。
- conv
- バージョン 3.6 の reiserfs ソフトウェアに バージョン 3.5 のファイルシステムをマウントさせる。 新しく作成されたオブジェクトには 3.6 の形式が使われる。 このようにしたファイルシステムは reiserfs 3.5 のツールとは互換性がなくなる。
- hash=rupasov / hash=tea / hash=r5 / hash=detect
- reiserfs がディレクトリ内でファイルを見付けるのに、 どのハッシュ関数を使うかを選択する。
- rupasov
- Yury Yu. Rupasov が発明したハッシュ。 このハッシュは高速であり、 辞書順で近いファイル名を近いハッシュ値に対応づけることで 近接関係 (locality) が保存される。 高い確率でハッシュの衝突が起こるので、このオプションは使うべきではない。
- tea
- Jeremy Fitzhardinge が実装した Davis-Meyer 関数。 ハッシュ名にハッシュ置換ビットを使う。 ランダム性が高いので、使用される CPU コストに対してハッシュ衝突の確率が低い。 このオプションは、r5 ハッシュで EHASHCOLLISION エラーが起こる場合に使われる。
- r5
- rupasov ハッシュの修正版。 デフォルトではこれが使用され、非常に多くのディレクトリや 変わったファイル名のパターンがファイルシステムにない限り、 もっとも良い選択肢である。
- detect
- 現在マウントされているファイルシステムを mount コマンドに調べさせ、どのハッシュ関数が使われているかを検出 (detect) させる。 さらに、この情報を reiserfs のスーパーブロックに書き込ませる。 古い形式のファイルシステムを初めてマウントするときにのみ役立つ。
- hashed_relocation
- ブロックアロケータを有効にする。 ある状況下では性能の向上が見られるかもしれない。
- noborder
- Yury Yu. Rupasov が発明した境界アロケータアルゴリズムを無効にする。 ある状況下では性能の向上が見られるかもしれない。
- nolog
- ジャーナリングを無効にする。 reiserfs が持つクラッシュからの高速な回復は失われるが、 ある状況下では僅かな性能の向上が見られる。 このオプションが有効になっている場合でも、 reiserfs は、ジャーナリング領域への実際の書き込みを保存するといった 全てのジャーナリング操作を行っている。 nolog の実装は進行中の作業である。
- notail
- デフォルトでは、reiserfs は小さなファイルや「ファイルの末尾」を ツリーの中に直接格納する。 これが LILO(8) のようなユーティリティを混乱させてしまう。 このオプションはファイルをツリーの中に格納させないようにする。
- replayonly
- ジャーナルにあるトランザクションをやり直させる。 実際にはファイルシステムをマウントしない。 主に reiserfsck が使う。
- resize=number
- reiserfs パーティションのオンラインでの領域拡張を許可する 再マウントオプション。 そのデバイスが number ブロック数であると reiserfs に仮定させる。 このオプションは、論理的なボリューム管理 (LVM) 下にある デバイスに対して使うように設計されている。 ftp://ftp.namesys.com/pub/reiserfsprogs から特別な resizer ユーティリティが取得できる。
romfs のマウントオプション¶
なし。
smbfs のマウントオプション¶
nfs と同様に、smbfs の実装は mount システムコールにバイナリの引き数 (struct smb_mount_data) を用いる。 この引き数は smbmount(8) によって渡すことができる。 現在のバージョンの mount (2.12) は smbfs を扱うことができない。
sysv のマウントオプション¶
なし。
tmpfs のマウントオプション¶
以下のパラメータには、Ki, Mi, Gi (バイナリのキロ・メガ・ギガ) を表す サフィックス k, m, g をつけることができる。 また再マウントのときに変更することもできる。
- size=nbytes
- ファイルシステムのデフォルトの最大サイズを上書きする。 サイズはバイトで指定され、ページ単位になるように切り捨てられる。 デフォルトはメモリサイズの半分である。
- nr_blocks=
- ブロック数を設定する。
- nr_inodes=
- inode 数を設定する。
- mode=
- ルートディレクトリの最初の許可属性を設定する。
udf のマウントオプション¶
udf は Optical Storage Technology Association で定義されている "Universal Disk Format" ファイルシステムであり、DVD-ROM で多く使用される。 iso9660 も参照すること。
- gid=
- デフォルトのグループを設定する。
- umask=
- デフォルトの umask を設定する。 値は 8 進数で指定する。
- uid=
- デフォルトのユーザーを設定する。
- unhide
- 隠しファイルも見せる。
- undelete
- 削除されたファイルもリストに見せる。
- nostrict
- 厳密に適合させない。
- iocharset
- NLS 文字セットを設定する。
- bs=
- ブロックサイズを設定する (2048 以外では動作しない)。
- novrs
- ボリュームシーケンスの確認をスキップする。
- session=
- CDROM セッションのカウントを 0 から始める。 デフォルトは最終セッション。
- anchor=
- 標準のアンカーの位置を上書きする。デフォルトは 256。
- volume=
- VolumeDesc の位置を上書きする (未実装)。
- partition=
- PartitionDesc の位置を上書きする (未実装)。
- lastblock=
- ファイルシステムの最終ブロックを設定する。
- fileset=
- fileset ブロックの位置を上書きする (未実装)。
- rootdir=
- ルートディレクトリの位置を上書きする (未実装)。
ufs のマウントオプション¶
- ufstype=value
- UFS は他の OS で広く用いられているファイルシステムである。 ただし実装が OS によって異なっているのが問題である。 ある種の実装における機能には文書化されていないものがあり、 ufs の形式を自動的に認識するのは難しい。 したがってユーザーは ufs の形式をマウントオプションで指定しなければならない。 指定できる値は以下の通り:
- old
- ufs の古い形式。これがデフォルトで、リードオンリー (-r オプションを忘れずに指定すること)。
- 44bsd
- BSD ライクなシステム (NetBSD, FreeBSD, OpenBSD) で作られたファイルシステムに用いる。
- sun
- SunOS や Solaris on Sparc で作られたファイルシステムに用いる。
- sunx86
- Solaris on x86 で作られたファイルシステムに用いる。
- hp
- HP-UX で作られたファイルシステムに用いる。リードオンリー。
- nextstep
- (NeXT ステーションの) NeXTStep で作られたファイルシステムに用いる (現在はリードオンリー)。
- nextstep-cd
- NeXTStep CDROM (block_size == 2048) に用いる。リードオンリー。
- openstep
- OpenStep で作られたファイルシステムに用いる (現在はリードオンリー)。 同じファイルシステムが Mac OS X でも使われている。
- onerror=value
- エラー時の振る舞いを設定する:
- panic
- エラーが起こったらカーネルパニックを起こす。
- [lock|umount|repair]
- 現在のところはこれらのオプションはなにもしない。 エラーが起こるとコンソールメッセージが表示されるだけである。
umsdos のマウントオプション¶
msdos のマウントオプションを見よ。 dotsOK オプションは umsdos では当然無効である。
vfat のマウントオプション¶
まず fat のマウントオプションが認識される。 dotsOK オプションは vfat では当然無効である。 さらに以下のオプションが存在する。
- uni_xlate
- 扱うことのできない Unicode 文字を特殊なエスケープシーケンスに変換する。 これは Unicode 文字を含むファイルをバックアップ、 レストアするのに用いることができる。 このオプションを指定しないと、変換できない場合には `?' が用いられる。 エスケープ文字には `:' が用いられる (これは通常 vfat ファイルシステムでは用いることのできない文字であるため)。 用いられるエスケープシーケンスは u を Unicode 文字とすると以下の通り。 ':', (u & 0x3f), ((u>>6) & 0x3f), (u>>12)。
- posix
- 大文字か小文字かだけが異なる 2 つのファイル名を識別できるようにする。
- nonumtail
- name~num.ext を用いる前に、まずシーケンス番号のない短縮名に変換しようとする。
- utf8
- UTF8 は、コンソールで用いられる Unicode の 8 ビットエンコードに対して 安全なファイルシステムである。 このオプションを指定すると UTF8 が有効になる。 'uni_xlate' が設定されていると UTF8 は無効になる。
- shortname=[lower|win95|winnt|mixed]
-
8.3 形式の文字列に合うようなファイル名を 生成したり表示したりする動作を定義する。 ファイルにロングネームがある場合は、いつでも指定された動作で表示する。 以下の 4 つのモードがある:
デフォルトは "lower" である。
usbfs のマウントオプション¶
- devuid=uid, devgid=gid, devmode=mode
- usbfs ファイルシステムにあるデバイスファイルの 所有者・グループ・モードを設定する (デフォルトは uid=gid=0, mode=0644)。 このモードは 8 進数で指定する。
- busuid=uid, busgid=gid, busmode=mode
- usbfs ファイルシステムにあるバスディレクトリの 所有者・グループ・モードを設定する (デフォルトは uid=gid=0, mode=0555)。 このモードは 8 進数で指定する。
- listuid=uid, listgid=gid, listmode=mode
- ファイル devices の所有者・グループ・モードを設定する (デフォルトは uid=gid=0, mode=0444)。 このモードは 8 進数で指定する。
xenix のマウントオプション¶
なし。
xfs のマウントオプション¶
- biosize=size
- バッファされる I/O サイズを設定する (デフォルトのサイズは 64K)。 size は、希望する I/O サイズの (基数 2 の) 対数で表さなければならない。 このオプションに指定される有効な値は 14 〜 16 である (つまり、16K, 32K, 64K バイトである)。 ページサイズが 4K バイトのマシンでは、 13 (8K バイト) も size として有効である。 バッファされる I/O サイズは、 ioctl(2) システムコールを使って、各ファイル単位で変更することもできる。
- dmapi / xdsm
- DMAPI (Data Management API, データ管理 API) イベント呼び出しを有効にする。
- logbufs=value
- メモリ内ログバッファの数を指定する。 有効な数値は 2 〜 8 の範囲である。 デフォルトの値は、 ブロックサイズが 64K のファイルシステムには 8 バッファ、 ブロックサイズが 23K のファイルシステムには 4 バッファ、 ブロックサイズが 16K のファイルシステムには 3 バッファ、 他の設定では 2 バッファである。 バッファ数を増やすと、同じ実行負荷に対して性能が良くなる。 しかし、追加されるログバッファとそれに関連する制御構造体で使われる メモリのコストがかかる。
- logbsize=value
- 各メモリ内ログバッファのサイズを設定する。 有効なサイズは 16384 (16K) と 32768 (32K) である。 デフォルトの値は、32MB 以上のメモリを持つマシンでは 32768 である。 それ以下のマシンでは 16384 がデフォルトである。
- logdev=device と rtdev=device
- 外部ログ (メタデータジャーナル) とリアルタイムデバイスの 両方または片方を使う。 XFS ファイルシステムには、データセクション・ログセクション・ リアルタイムセクションの 3 つの部分がある。 リアルタイムセクションは省略することができる。 ログセクションはデータセクションと分離することも、 データセクションに含めることもできる。 xfs(5) を参照すること。
- noalign
- データ割り当てをストライプユニット境界に配置しない。
- noatime
- ファイルを読み込んだときに、タイムスタンプを更新しない。
- norecovery
- ログを使った回復を実行せずにファイルシステムをマウントする。 ファイルシステムが正常にアンマウンントされなかった場合に、 norecovery モードでマウントされると、不整合が起こりやすい。 そのため、いくつかのファイルやディレクトリにアクセスできないかもしれない。 norecovery でマウントされるファイルシステムは、 リードオンリーでマウントしなければならない。 さもなければ、マウントに失敗するだろう。
- nouuid
- ファイルシステム uuid を無視する。 これは重複する uuid によるエラーを回避する。
- osyncisdsync
- O_SYNC フラグを設定してオープンしたファイルに、 O_DSYNC フラグが使われた場合と同じ動作で書き込む。 データの安全性を危険に晒すことなく、よりよい性能が得られる。 しかし、このオプションが有効になっている場合、 システムがクラッシュすると、 O_SYNC 書き込みによるタイムスタンプの更新が失われる。
- quota / usrquota / uqnoenforce
- ユーザーディスク quota のアカウントを有効にして、 制限を (オプションとして) 守らせる。
- grpquota / gqnoenforce
- グループディスク quota のアカウントを有効にして、 制限を (オプションとして) 守らせる。
- sunit=value と swidth=value
- RAID デバイスのストライプユニットと幅を指定する。 または、ストライプボリュームを指定する。 このオプションが指定されていない場合、 mkfs の時に RAID デバイスに対して ストライプボリューム・幅・ユニットを指定して ファイルシステムが作成されていれば、 mount システムコールは値をスーパーブロックから取り出す。 RAID デバイス上に直接作成されたファイルシステムでは、 スーパーブロックにある情報を上書きするために、 これらのオプションを使うことができる。 ただし、ファイルシステムが作成された後で、 下層にあるディスクレイアウトが変更される場合。 sunit オプションが指定された場合、 swidth が必要である。 swidth は sunit の値の倍数でなければならない。
xiafs のマウントオプション¶
なし。xiafs は特に欠点のないファイルシステムであるが、 あまり用いられておらず、メンテナンスされていない。 おそらく用いない方が良いだろう。 Linux のバージョン 2.1.21 以降では xiafs はカーネルソースから削除された。
loop デバイス¶
残ったタイプとしてもう 1 つ、loop デバイスを用いたマウントがある。 例えば以下のコマンド
mount /tmp/fdimage /mnt -t msdos -o loop=/dev/loop3,blocksize=1024
は loop デバイス /dev/loop3 をファイル /tmp/fdimage に関連付け、そしてこのデバイスを /mnt にマウントする。
このタイプのマウントの際には 3 つのオプションが指定できる。 loop, offset, encryption である。 これらは実際には losetup(8) のオプションである。 (これらのオプションはファイルシステムタイプに固有のオプションの他に 使用することができる。)
loop デバイスの名前をコマンドラインで省略した場合 (`-o loop' のみを指定した場合) は mount はまだ使われていない loop デバイスを探してそれを利用する。 /etc/mtab を /proc/mounts へのシンボリックリンクにするような馬鹿をしなければ、 mount によって割り当てられたいずれの loop デバイスも umount によって解放できる。 `losetup -d' を用いれば loop デバイスを手動で解放することもできる。 詳細は losetup(8) を見よ。
返り値¶
mount は以下のコードを返す (ビットは OR できる):
- 0
- 成功した。
- 1
- 呼び出しやパーミッションが正しくない。
- 2
- システムエラー (メモリ不足、fork できなかった、loop デバイスが足りない)。
- 4
- mount 内部のバグ、または mount が nfs に対応していない。
- 8
- ユーザーによる中断。
- 16
- /etc/mtab の書き込み時またはロック時の問題がある。
- 32
- マウントに失敗した。
- 64
- (訳註: "mount -a" などで) 一部が成功した。
ファイル¶
- /etc/fstab
- ファイルシステムの一覧表
- /etc/mtab
- マウントされたファイルシステムの一覧表
- /etc/mtab~
- ロックファイル
- /etc/mtab.tmp
- テンポラリファイル
- /etc/filesystems
- 試行するファイルシステムタイプの一覧
関連項目¶
mount(2), umount(2), fstab(5), umount(8), swapon(8), nfs(5), xfs(5), e2label(8), xfs_admin(8), mountd(8), nfsd(8), mke2fs(8), tune2fs(8), losetup(8)
バグ¶
ファイルシステムに整合性がないと、クラッシュを引き起こす場合がある。
Linux のファイルシステムのなかには -o sync と -o dirsync をサポートしていないものがある。 (ext2, ext3 ファイルシステムは BSD 流の同期更新をサポートしている。 sync オプションとともにマウントすれば良い。)
-o remount でマウントパラメータが変更されないことがある (例えば ext2fs 特有のパラメータは、 sb を除いてすべて remount で変更可能であるが、 fatfs では gid や umask を変更できない)。
ラベルまたは uuid によるマウントは、そのデバイスの名前が /proc/partitions にリストされている場合にのみ可能である。 特に、カーネルが devfs を付けてコンパイルされているにも関わらず、 devfs がマウントされていない場合にも失敗する。
履歴¶
mount コマンドは Version 5 の AT&T UNIX には存在していた。
2004-12-16 | Linux 2.6 |